/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.rh.game;

// import com.rh.game.impl.*;

import com.rh.game.chat.Chat;
import com.rh.game.chat.ChatImage;
import com.rh.game.chat.ChatResponse;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 *
 * @author Hayden
 */
public class ChatWithConditions implements Chat {
    public static final List<ChatWithConditions> EMPTY_LIST = Collections.unmodifiableList(new ArrayList<ChatWithConditions>());
    
    private String id = "";
    public String getID()  { return id; }
    
    private String text = "";
    public String getText()  { return text; }

    private boolean intro = false;
    public boolean isIntro() {
        return intro;
    }

    private Character speaker = Character.NARRATOR;
    public Character getSpeaker() {
        return speaker;
    }

    private List<GameEffect> effects = GameEffect.EMPTY_LIST;
    public List<GameEffect> getEffects() {
        return effects;
    }

    private String mp3 = null;
    public String getMp3() {
        return mp3;
    }

    private ChatImage image = ChatImage.NULL;
    public ChatImage getImage() {
        return image;
    }

    private List<ChatResponse> responses = ChatResponse.EMPTY_LIST;
    public List<ChatResponse> getResponses() {
        return responses;
    }    

    private List<GameCondition> conditions = GameCondition.EMPTY_LIST;
    public List<GameCondition> getConditions()  {
        return conditions;
    }
    
    public ChatWithConditions(String pID, String pText, boolean pIntro, Character pSpeaker, List<GameEffect> pEffects, String pMp3, ChatImage pImage, List<ChatResponse> pResponses, List<GameCondition> pConditions)  {
        super();
        id = pID;
        text = pText;
        intro = pIntro;
        speaker = pSpeaker;
        effects = pEffects;
        mp3 = pMp3;
        image = pImage;
        responses = pResponses;
        conditions = pConditions;
    }
    
    public String toString()  {
        return "Chat #" + getID() + ", Speaker: " + getSpeaker() + ", Intro: " + isIntro();
    }
}
